package com.share.tool.mock.model.db;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author author
 * @since 2023-11-23
 */
@Data
@Accessors(chain = true)
@TableName("mc_http_variable")
public class HttpVariable implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 请求编码-全局唯一
     */
    private String code;
    /**
     * 名称
     */
    private String name;
    /**
     * 字符串数据
     */
    private String value;
    /**
     * 变量名-variable表中code值,按照逗号切割
     */
    private String variables;
    /**
     * 数据返回格式,取值josn,string,默认值string
     */
    private String format;
    private String descript;
    /**
     * 是否有效，取值1有效，0无效
     */
    @TableField(value = "is_valid")
    private Integer isValid;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;


    //延迟方式：0-默认延迟[不追加延迟],1-天内时间段延迟 ,2-日期范围延迟
    @TableField(value = "delay_way")
    private String delayWay;

    //延迟条件 有效日期或者时间
    @TableField(value = "delay_start_time")
    private Date delayStartTime;

    //延迟条件 截止日期或者时间
    @TableField(value = "delay_end_time")
    private Date delayEndTime;

    //延迟条件 命中概率
    @TableField(value = "delay_rate")
    private Double delayRate;

    //延迟时间毫秒 追加的最小值
    @TableField(value = "delay_min")
    private Integer delayMin;

    //延迟时间毫秒 追加的最大值
    @TableField(value = "delay_max")
    private Integer delayMax;
}
